package com.angel.architecture.services.interfaces;

import java.io.Serializable;
import java.util.Collection;

import com.angel.architecture.dtos.SessionUserDTO;
import com.angel.architecture.persistence.base.PersistentObject;
import com.angel.dao.generic.interfaces.GenericDAO;


/**
 *
 *
 * @author William
 */
public interface GenericService {

	@SuppressWarnings("unchecked")
	public GenericDAO getGenericDAO();

	@SuppressWarnings("unchecked")
	public void setGenericDAO(GenericDAO genericDAO);

    public Object findUniqueByID(Serializable id);

    public Collection<Object> findAll();

    public PersistentObject create(PersistentObject persistentObject);

    public void remove(Object persistentObject);

    public Object update(Object persistentObject);

	public SessionUserDTO getSessionUserDTO();

}
